home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus 1995 #5 & #6
/
Amiga Plus CD - 1995 - No. 5 and 6.iso
/
pd
/
netz
/
ums
/
ums-beta
/
tools
/
listmanager
/
listmanager.doc
< prev
Wrap
Text File
|
1995-05-31
|
10KB
|
270 lines
ListManager.rexx 1.20
=====================
ListManager is a mailing list tool for the Universal Message System
(UMS). It does not only easy handling of subscribed mailing lists
(client mode) but also can serve them (server mode). In both cases
ListManager works as an news-mail gateway, too.
In client mode ListManager sorts mails from incoming mailing lists
into local newsgroups (import mode) or sends posting in this
newsgroups to the corresponding mailinglist (export mode).
In server mode - well - ListManager serves mailing lists. In this case
it sends all messages received to the subscribers of the mailing
list, too. Messages are forwarded both from the lists mail account
and the newsgroup corresponding to the mailing list.
Most people will use only client mode. Just skip the parts about
server mode here in the docs :-)
How does it work?
-----------------
Client Mode:
· All incoming mails are scanned for ReplyName matching "Mailinglist
'#?'" (case insensitive). The mails are put into the newsgroup
mailinglist.#?, where #? is substituted by the #? of the above
pattern. Eg. "Mailinglist 'blasfasel'" goes into newgroup
"mailinglists.blafasel".
Further, the mailinglists name and address are added to the config
variable, if not already present. The address is updated
automaticaly from the ReplyAddr field if necessary.
If a mailinglist does not set a ReplyName like this, you can use
Klaus Melchior's SetFolder in order to correct the ReplyName!
· For each known mailing list the corresponding newsgroup is scanned
for new postings. These are forwarded to the mailinglist by
sending it to the address found in the config variable.
Server Mode:
· All mail to the ListManager deamon account is processed as
controll messages. This includes subscription, help and some more
commands (see below).
· All mailing lists found in the config var to be served here are
processed as follows:
- All mails for the mailing list are forwarded to the subscribers
and posted into the correspondig newsgroup. In this mode ToName
is testet instead of ReplyName (we are the list :-).
- All new postings in the corresponding newsgroup are forwarded to
the subscribers.
· Server mode implies client mode.
Usage:
------
Template: NAME,PASSWORD,SERVER/K,NODEAMONACCOUNT/S,LOOP/K,DEBUGLEVEL/N/K
NAME
PASSWORD
SERVER
UMS standard command line options
(defaults to "lists" "" "")
NODEAMONACCOUNT
This is only useful if the ListManager runs on a real user account.
NOTE: this is _not_ suggested usage. Please use an extra (deamon)
user whenever possible. If serving a list with no deamon
account you must be very careful not to mix addresses.
If it isn't possible for you to use an extra user for mailinglist
handling (because you are limited to a single mail address eg. due
to POP) ListManager uses a userflag instead of "Old" to determine
which messages from newsgroups must be exported. This flag is
automatically reserved by using the config variable "flags.user".
Please check all other UMS tools which use userflags in order to
avoid conflics. If a tool does not support "user.flags" please
notify the author!
LOOP
Never quit ListManager just run it in a loop. After one loop is completed
the supplied command is started
DEBUGLEVEL
messages with log level lower or equal this value are not only
written to the UMS Logfile, but also to StdIO. (default: 5)
Known Commands:
---------------
This server understands the commands:
QUIT
HELP
USERS LIST/A
WHO LIST/A
INDEX
WHICH
ADD LIST/A,NAME/K,ADDR/K
SUBSCRIBE LIST/A,NAME/K,ADDR/K
REMOVE LIST/A,NAME/K,ADDR/K
DELETE LIST/A,NAME/K,ADDR/K
UNSUBSCRIBE LIST/A,NAME/K,ADDR/K
DESCRIPTION LIST/A
DESC LIST/A
INFO LIST/A
For detailed information, please refer to the example helpfile.
Installation for Client Mode:
-----------------------------
For using ListManager, it's quite usefull to have an extra user who
gets all the mailinglists. The suggested name is "lists". For security
reasons restrict EXPORT, WRITEACCESS and NETACCESS as far as
possible.
If you are not able to use an extra deamon user you must use the
NODEAMONACCOUNT argument. The only valid reason for not using an
extra user is that you can only use exaclty one email address, eg.
when using POP mail). NODEAMONACCOUNT invokes a lot of magic. It's
very tricky. I propose the use of an extra user for this deamon stuff
handling whenever possible.
If you are subscribed to a Mailinglist which does not create a ReplyName in
the form of "Mailinglist 'Listname'" please use Klaus Melchior's SetFolder
in oder to correct this. Here's an example configuration for SetFolder:
( SetFolder.Folder
"AMOK-L Comments \"#?(To|Cc): #?amok-l@#?.uni-stuttgart.de#?\" \"Mailinglist 'AMOK',amok-l@listserv.uni-stuttgart.de\"\n"
"Envoy-L ReplyAddr \"beta@iam.com\" \"Mailinglist 'Envoy',beta@iam.com\""
)
For the case you got some postings to be exported to mailinglists not
already present in the config variable, this is the format :-)
( ListManager.Mailinglists
"Ums-DEV,Ums-Dev@lyssa.owl.de\n"
"Oberon-A,oberon-a@wossname.apana.org.au\n"
"AMOK,amok-l@listserv.uni-stuttgart.de" )
If only using client operation further configuration is not nesseccary!
ListManager will automatically add all incoming mailinglist into it's config
variable.
Installation for Server Mode:
-----------------------------
Okay, this is for the guys willing to run a mailinglist. This may
look a bit compilcated but this is just do keep some nerd away ;-)
First of all you need an alias for your Deamon, suggested name is
"ListServ" or "request". This may be the deamon user's name, but this
is not suggested since you may use the same deamon account for other
purposes. See also note below (ListManger.Server).
You also have to set the alias "postmaster" to your own account if you did
not already to that. Users of the lists are instructed to send questions to
this alias.
Then you need a bunch of extra config variables for handling the
server stuff:
ListManager.Server
This is the name of the user which handles all requests. Enter here
the alias you just created. All mails with this ToName set are
handled as controll messages. The presence of this varibale is
taken as indicator whether to run in server mode, too.
NOTE: Only one name is checked, so there is no use of adding more
aliases.
ListManager.HostName
This name of your host. In almost all cases this is identical to
rfc.domainname. If you are using "NODEAMONACCOUNT" you must use the
variable ListManager.Address instead!
ListManager.Address
Only if you are forced to use NODEAMONACCOUNT" you have to set this
variable. It must contain your one and only email address.
HostName and Address are used to generate the reply address and the
footer added to every forwarded mail.
ListManager.Owner (optional)
Alias for the 'Owner' of ListManager, this is the person to
maintain setup, etc. usually the postmaster. This is used to
generate the Errors-To:-Header and the footer.
Default: postmaster
ListManager.HelpFile (optional but suggested)
Filename (including path) of a file describing the usage of
ListManger. Best to take the example helpfile included with the
distribution. Change the e-mail addresses at the top and bottom of
the text to suit your needs.
Per-list configuration
----------------------
Now you have set up the ListServer but there are no mailing list
specified to be served. This is what has to be configurated for each
mailinglist.
First of all you need two more aliases for your (deamon) user. So if
you are serving "testlist" the appropriate UMS user must have the
aliases "testlist" and "Mailinglist 'testlist'".
And again, some configuration variables:
ListManager.Mailinglists
This variable is well known from client operation. Those lists without an
address are run in server mode. Example (only "My-List" is served by the
local system):
( ListManager.Mailinglists
"Ums-DEV,Ums-Dev@lyssa.owl.de\n"
"My-List,\n"
"Oberon-A,oberon-a@wossname.apana.org.au\n"
"AMOK,amok-l@listserv.uni-stuttgart.de" )
Add an appropriate line the this variable. Mind the comma!
You need extra variables for each of the lists in server mode (<list>
is to be substituted by the name of the list):
ListManager.<list>.group (optional)
Name of the newsgroup corresponsing to the mailinglist. Suggested
name is "mailinglist.<list>". If you ommit this variable ListManager does
not gate the mails to any newsgroup.
ListManager.<list>.descfile (optional)
Filename (including path) of a file containing a short description
about this mailinglist. This text can be requested using the
DESCRIPTION command.
ListManager.<list>.users
This will hold the names and addresses for the subscribers of the
list. ListManger will maintain it automatically for you. Example:
( ListManager.Testlist.users "" )
And here's an example with some entries, just in case you need it:
( ListManager.Testlist.users
"Joe User,joe@site.sub.org\n"
"Otto Normalverbraucher,lists@verbrauch.in.de\n"
)
ListManager.<list>.alias (optional)
If a list is named "Testlist" ListManager automatically scans for mails
to the names "Testlist" and "Mailinglist 'Testlist'". If you want
ListManager to check an additional alias you can specify it here.
ListManager.<list>.access
Generally everyone can subscribe to your Mailinglists just by sending a
control message to Listmanager. You can restrict the use of the commands
"ADD"/"SUBSCRIBE" and "REMOVE"/"UNSUBSCRIBE" to certain users by setting
"access" to a pattern which must match the address of the user sending
the control message.